﻿var myArticle = [] ;//我的文章
var tag = [];//标签
var totalPage;

var url = getMyArticleURL;
//文档加载预先显示第一分页文章信息
jQuery(document).ready(function($) {
	getArticle(url,1,20,sessionStorage.userId);//获取第一页的文章列表信息
	
	// 显示文章
	$("body").find("#myArticleTable").on('click', '.showList', function(){
		var i = this.id;
		var tipStr = "";
		for(var j=0;j<tag[i].length;j++){
			tipStr +=  '<span class="tip">'+tag[i][j]+'</span>';
		}// 遍历每篇文章标签
		sessionStorage.title = myArticle[i][1];
		sessionStorage.author = myArticle[i][3];
		sessionStorage.time = myArticle[i][7];
		sessionStorage.main = myArticle[i][2];
		sessionStorage.tag = tipStr; //标签
	});

	// 页码点击事件
	$("body").find(".list_page").on('click', 'li', function(){
		var thisText = $(this);
		var page = changePage(thisText);
		var text = $("input")[0].value;
		if(page!=0){
			getArticle(url,page,20,text);
		}
		scroll(0,0);		
	});

	// 修改文章
	$("#myArticleTable").on('click', '.update', function(){
		var i = this.id;
		sessionStorage.id = myArticle[i][0];
		sessionStorage.title = myArticle[i][1];
		sessionStorage.tag = myArticle[i][8];
		sessionStorage.main = myArticle[i][2];
	});

	// 删除文章
	$("#myArticleTable").on('click', '.delete', function(){
		var i = this.id;
		var articleId = myArticle[i][0];
		$.post(deleteArticleURL, {id:articleId}, function(data) {
			alert("删除成功");
			getArticle(url,1,20,sessionStorage.userId);//获取第一页的文章列表信息
		});

	});

});

// 从接口接收文章
// url接口 ，pageNum 第几页信息，index 每页几条记录，text 查询字段 表示作者id
function getArticle(url,pageNum,index,text){
	$.post(url, {
		pageNo:pageNum,
		articleNum:index,
		id:text
		},
		function(json) {
			var data = JSON.parse(json);
			var articleNum = data.numberOfElements;	//获得当前页文章总数
			totalPage = data.totalPages;	//获得分页数目
			arr(myArticle,tag,articleNum,data);
			put(myArticle,tag,articleNum,20);
		
			//页码显示
			if (pageNum == 1){	
				getPage(totalPage,20);
			}
	});
}

// 把从接口收到的数据存入数组中
// 参数 article要存入的文章数组，tag要存入的标签数组，articleNum文章总数或数组长度，data从接口接收到的数据
function arr(article,tag,atricleNum,data){
	for(var i=0;i<atricleNum;i++){	
		article[i] = new Array(9);	//定义为二维数组
		tag[i] = new Array();		//定义为二维数组
		article[i][0] = data.content[i].id ;	 // id
		article[i][1] = data.content[i].title  ;  //  标题
		article[i][2] = data.content[i].html   ;  // 内容
		article[i][3] = data.content[i].user.userName  ;  // 作者
		article[i][4] = data.content[i].readNum ;  // 阅读数
		article[i][5] = data.content[i].outline ;  // 片段
		article[i][6] = data.content[i].likeNum ;  // 点赞数
		var createTime= new Date(parseInt(data.content[i].createTime)).toLocaleString();
		article[i][7] = createTime ;  // 发表时间
		article[i][8] = data.content[i].tag ;  // 标签
		var tipText = article[i][8].split(",");
		for (var j=0;j<tipText.length;j++){
			tag[i][j] = tipText[j];
		} 
	}
}

// 把数组内容放入写入页面中
function put(article,tag,articleNum,index){
	
	var str = '';
	for(var i=0;i<articleNum;i++){
		str += '<tr><td><a href="./showArticle.html" class="showList" id='+i+' >'+article[i][1]+'</a></td>'+'<td>'+article[i][7] +'</td><td>'+'<span class="glyphicon glyphicon-eye-open">&nbsp;'+article[i][4]+'&nbsp;&nbsp;</span>'+'</td>'+'<td><a class="update" href="./edit/index.html" id='+i+'>修改</a>&nbsp;&nbsp;&nbsp;<a class="delete" id='+i+'>删除</a></td>'+'</tr>';
	}
	$("#myArticleTable").empty().append(str);
	
}
// 显示页码
function getPage(totalPage,index){
	if(totalPage != 1)
	{	
		var str = " "
		for (var i = 1;i<=totalPage;i++){
			if(i==1){
				str += "<li  class='prevPage' style='margin-right:8px;'><a>上一页</a></li>";
				str += "<li class='active' ><a>"+i+"</a></li>";
			}
			else{
				str += "<li><a>"+i+"</a></li>";
				if(i==totalPage){
					str += "<li class='nextPage' style='margin-left:8px;' ><a>下一页</a></li>";
				}	
			}
		}
		$(".list_page").empty().append(str);
	}
}

function changePage (pageNum) {
	var page = 0;
	var current = $(".active");
	if(pageNum.hasClass('nextPage')){
		var nextPage = current.next().text();
		if(nextPage !="下一页"){
			current.next().addClass('active');	
			current.removeClass('active');
			page = parseInt(nextPage);
		}
	}
	else if(pageNum.hasClass('prevPage')){
		var prevPage = current.prev().text();
		if(prevPage !="上一页"){
			current.prev().addClass('active');	
			current.removeClass('active');
			page = parseInt(prevPage);
		}
	}
	else{
		pageNum.siblings().removeClass('active');
		pageNum.addClass('active');	
		page = parseInt(pageNum.text());	
	}
	return page;
}